home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d20
/
fatal14.arc
/
FATAL.DOC
< prev
next >
Wrap
Text File
|
1990-04-22
|
8KB
|
227 lines
F A T A L
Resident Critical Error Handler
FATAL14.ZIP
v1.4 04-22-90
Copyright 1989, 1990 Samuel H. Smith
All rights reserved.
This program is a resident (TSR) utility that traps critical errors and
attempts to handle them in an intelligent way. It replaces the normal
"Retry, Ignore, Abort" prompt. The program automatically attempts to
retry failed operations when you are not there to press the "R" key.
It draws on all available information to present a complete error
description to the user. If the operator does not respond within 10
seconds the program will automatically take the action suggested by DOS.
DOS version 3.0 or later is required to use this program.
Once resident, FATAL used about 3800 bytes of RAM.
Usage:
FATAL/I ;install FATAL in memory.
FATAL/U ;un-install, remove FATAL from memory.
FATAL/C ;display critical error counters.
FATAL/Z ;reset error counters to zero.
The FATAL program will take over critical errors that are not directly
handled in a later program. It is careful to preserve any replacement
error handler used by an application program. Because of this, it is
advised to load FATAL as an early TSR, before any others that also set
up critical error handlers. In multi-tasking systems you may need to
load a copy of FATAL into each memory partition.
NOTE: If you are running the LANtastic network, you must load FATAL
*before* calls to SERVER and probably also before REDIR and
LANBIOS. Otherwise a sharing violation will be trapped on the
server rather than on the offending workstation!
Example output
--------------
FATAL/I
FATAL v1.4 installed.
FATAL/U
FATAL unInstalled.
FATAL/C
FATAL v1.4 status:
10 Critical errors.
5 Automatic retries.
Error:
3 Seek error!
6 Sharing violation!
1 Network device no longer exists!
Class:
3 Hardware failure
6 Resource locked
1 Unknown
Locus:
1 Unknown.
8 Block device (disk error).
1 Network.
Drive:
2 I:
6 J:
2 U:
Area:
5 Directory area.
5 Data area.
Suggested action:
3 Retry the operation.
6 Delay and then retry.
1 Re-enter input.
╔═══════════════════╡ CRITICAL ERROR! ╞════════════════════╗
║ Error: Drive not ready! ║
║ Area: Reading from drive A: File allocation table. ║
║ Class: Hardware failure in Block device (disk error). ║
║ Suggested action: Retry after correcting the error. ║
╚══════════════════════════════════════════════════════════╝
Action: (A)bort, (R)etry, (I)gnore, (F)ail? <R>
FATAL/Z
Critical error counters zeroed.
LICENSE
=======
SourceWare: What is it?
-----------------------
SourceWare is my name for a unique concept in user supported
software.
Programs distributed under the SourceWare concept always offer source
code.
This package can be freely distributed so long as it is not modified
or sold for profit. If you find that this program is valuable, you
can send me a donation for what you think it is worth. I suggest
about $10.
Send your registrations to: The Tool Shop BBS
Samuel H. Smith (602) 264-3969 (2400) - Free node
5119 N. 11th Ave., #332 (602) 279-2673 (HST 9600)
Phoenix AZ 85013 (602) 279-0230 (HAYES 9600)
Why SourceWare?
---------------
Why do I offer source code? Why isn't the donation manditory? The
value of good software should be self-evident. The source code is
the key to complete understanding of a program. You can read it to
find out how things are done. You can also change it to suit your
needs, so long as you do not distribute the modified version without
my consent.
Copyright
---------
If you modify this program, I would appreciate a copy of the new
source code. I am holding the copyright on the source code, so
please don't delete my name from the program files or from the
documentation.
DISCLAIMER
==========
I make no warranty of any kind, express or implied, including without
limitation, any warranties of merchantability and/or fitness for a
particular purpose. I shall not be liable for any damages, whether
direct, indirect, special or consequential arising from a failure of
this program to operate in the manner desired by the user. I shall
not be liable for any damage to data or property which may be caused
directly or indirectly by the use of this program.
IN NO EVENT WILL I BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING ANY
LOST PROFITS, LOST SAVINGS OR OTHER INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF YOUR USE OR INABILITY TO USE THE PROGRAM, OR
FOR ANY CLAIM BY ANY OTHER PARTY.
Revision History
----------------
7-20-89 v1.0
Initial coding and release.
7-31-89 v1.1
Changed all display code to use BIOS calls exclusively. The initial
version used the DOS function 9, but this caused problems when
standard output was redirected: the FATAL messages were also
redirected!
Added screen save and restore operations; original user screen is now
preserved after fatal error processing (text modes only). BIOS calls
are used for compatibility with all system types.
Corrected an error that caused application program error handlers to
be replaced. FATAL is supposed to replace only the standard handler,
leaving application error handlers in place.
8-2-89 v1.2
Changed keyboard input functions to use BIOS calls rather than DOS
calls. This prevents a crash if standard input has been redirected
from a file at the time a critical error takes place.
Slight reduction in RAM requirement.
FATAL now removes itself from memory if run a second time. Please
don't do this if you have any resident programs loaded after FATAL.
Added /L command line option to bypass license messages.
8-14-89 v1.3
Added internal counters for number of critical errors and number of
automatic retries. Each possible error message is counted for later
reporting.
New FATAL/C option produces a detailed report of all error counters.
New FATAL/I option performs initial installation.
New FATAL/U option un-installs fatal if possible.
Fatal now hooks the DOS services interrupt in addition to the timer
tick interrupt. On very fast machines it was possible to miss a
critical error during the first 55 miliseconds of program execution.
12-26-89 v1.4ß1
Shortened automatic retry delay from 30 seconds to 10 seconds.
New FATAL/Z option to zero all error counters.
Added new logic to properly handle nested calls to COMMAND.COM and
shells to COMMAND.COM from application programs.
Improved the ability of FATAL/C to locate the resident portion, even
when being called by an application that takes over the critical
error interrupt.
03-29-90 v1.4ß2
Added some additional error messages.
Corrected "stray" character in prompt.
Widened error display window to allow better formatting of longer
error reports.